package site.zhanjingbo.shop.dao;

import java.util.List;

import site.zhanjingbo.shop.meta.Product;
import site.zhanjingbo.shop.meta.User;

public interface ProductDao {
	/**
	 * 通过商品ID获取商品
	 * 
	 * @param id
	 *            商品ID
	 * @return
	 */
	public Product getProductById(int id);

	/**
	 * 获取全部商品
	 * 
	 * @return
	 */
	public List<Product> getProducts();

	/**
	 * 获取某用户已购买的所有商品
	 * 
	 * @param user
	 * @return
	 */
	public List<Product> getProductsByUser(User user);

	/**
	 * 获取某用户未购买的商品
	 * 
	 * @param user
	 * @return
	 */
	public List<Product> getProductsNoUser(User user);

	/**
	 * 添加商品
	 * 
	 * @param product
	 */
	public void addProduct(Product product);

	/**
	 * 更新商品信息
	 * 
	 * @param product
	 * @return
	 */
	public int updateProduct(Product product);

	/**
	 * 删除指定商品
	 * 
	 * @param id
	 * @return
	 */
	public int deleteProduct(int id);
}
